package com.ruoyi.gd.ywd.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.gd.wgd.domain.vo.ZWgdVo;
import com.ruoyi.gd.ywd.domain.ZYwd;
import com.ruoyi.gd.ywd.domain.vo.ZYwdVo;
import com.ruoyi.gd.ywd.domain.bo.ZYwdBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import org.springframework.core.io.InputStreamResource;

import java.util.Collection;
import java.util.List;

/**
 * 业务单Service接口
 *
 * @author ruoyi
 * @date 2024-03-17
 */
public interface IZYwdService {

    /**
     * 查询业务单
     */
    ZYwdVo queryById(String id);

    /**
     * 查询业务单列表
     */
    TableDataInfo<ZYwdVo> queryPageList(ZYwdBo bo, PageQuery pageQuery, String type);

    /**
     * 查询业务单列表
     */
    List<ZYwdVo> queryList(ZYwdBo bo, String type);

    /**
     * 新增业务单
     */
    Boolean insertByBo(ZYwdBo bo);

    /**
     * 修改业务单
     */
    Boolean updateByBo(ZYwdBo bo);

    /**
     * 校验并批量删除业务单信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);

    /**
     * 通过多个id查询数据
     *
     * @param ids
     * @return
     */
    List<ZYwdVo> queryListByIds(String ids);

    Boolean authData(String[] ids);

    void updateByZbbh(String zbbh);

    List<ZYwdVo> calendarList(ZYwdBo bo);

    List<ZYwdVo> querySyList(LambdaQueryWrapper<ZYwd> lqw);

    List<ZYwdVo> handleSyTz();

    List<ZYwdVo> selectByIds(String[] ids);

    List<ZYwdVo> selectByIdsWgd(String[] ids);
}
